2 research outputs found

    Precompilation: an alternative approach to provide native generic programming support in C++

    Get PDF
    In C++, Generative Programming (GP) techniques are being used to generate highly customized and optimized products automatically manufactured at compile-time; to provide these functionalities increasing compiling power is required. This work presents an improved compilation model for C++ by adding the ‘precompilation’ phase, leading beyond the Template Meta Programming technique to produce constants and conditional code. Procedural, object-oriented and all the remaining language features become available to produce constants, instances, and compiletime checks, opening, at the same time, a new way for metadata types treatment. In addition to that, when compiling for embedded platforms, some calculi may be moved from resource-critical run time to compile time, taking advantage of the processing power of the host platform. A tool named PRECOMP C++ is also presented in this work as a precompilationenabled C++ extension that supports GP in standard C++ execution during compile time, providing the ability to run metaprograms that operate with more complex data types and features than those supported in Template Meta Programming, such as floating point, pointers arithmetic, inclusion polymorphism, and dynamic memoryII Workshop de Ingeniería de Software y Bases de Datos (WISBD)Red de Universidades con Carreras en Informática (RedUNCI

    Precompilation: an alternative approach to provide native generic programming support in C++

    Get PDF
    In C++, Generative Programming (GP) techniques are being used to generate highly customized and optimized products automatically manufactured at compile-time; to provide these functionalities increasing compiling power is required. This work presents an improved compilation model for C++ by adding the ‘precompilation’ phase, leading beyond the Template Meta Programming technique to produce constants and conditional code. Procedural, object-oriented and all the remaining language features become available to produce constants, instances, and compiletime checks, opening, at the same time, a new way for metadata types treatment. In addition to that, when compiling for embedded platforms, some calculi may be moved from resource-critical run time to compile time, taking advantage of the processing power of the host platform. A tool named PRECOMP C++ is also presented in this work as a precompilationenabled C++ extension that supports GP in standard C++ execution during compile time, providing the ability to run metaprograms that operate with more complex data types and features than those supported in Template Meta Programming, such as floating point, pointers arithmetic, inclusion polymorphism, and dynamic memoryII Workshop de Ingeniería de Software y Bases de Datos (WISBD)Red de Universidades con Carreras en Informática (RedUNCI
    corecore